#ifndef __WowEngine_h__
#define __WowEngine_h__

#include "Engine.h"
#include <deque>
#include <string>
class CSTGEngine : public CEngine
{
public:
	CSTGEngine(void);
	virtual ~CSTGEngine();
    struct lua_State* lua() { return mLua; }
    class CBarrage* createBarrage(const std::string &type);
    //class Ogre::Camera* getCamera() { return }
protected:
    void loadClips();
	virtual void createScene();
    //virtual bool initialise(); 
    virtual void destroyScene(); 
    virtual bool frameStarted(const Ogre::FrameEvent& evt);
    virtual void addResourceLocations();
    virtual void animate(int time);
    bool nextLocation();
    virtual bool processUnbufferedKeyInput(const Ogre::FrameEvent& evt); 
    virtual bool processUnbufferedMouseInput(const Ogre::FrameEvent& evt); 
    void initLua();
    void destroyLua();
	Ogre::Entity* ogreHead;
	Ogre::SceneNode* headNode;

    Ogre::SceneNode* mPlayerNode;

    class CPlayer *mPlayer;
    class CPlayerInst *mPlayerInst;
    class CWeaponInst *mWeaponInst;
  
    struct lua_State *mLua;
};

#endif // #ifndef __MyApplication_h__
